Adjusting volume levels

ABSTRACT

In general, user interfaces for controlling a plurality of multimedia players in groups are disclosed. According to one aspect of the present invention, a user interface is provided to allow a user to group some of the players according to a theme or scene, where each of the players is located in a zone. When the scene is activated, the players in the scene react in a synchronized manner. For example, the players in the scene are all caused to play a multimedia source or music in a playlist, wherein the multimedia source may be located anywhere on a network. The user interface is further configured to illustrate graphically a size of a group, the larger the group appears relatively, the more plays there are in the group.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. application Ser. No.16/009,182, filed Jun. 14, 2018, and currently U.S. application Ser. No.16/009,182 is a continuation of U.S. application Ser. No. 14/808,875filed on Jul. 24, 2015, and issued on Jul. 30, 2019 as U.S. Pat. No.10,365,884; U.S. application Ser. No. 14/808,875 is a continuation ofU.S. application Ser. No. 13/907,666 filed on May 31, 2013, and issuedon Sep. 22, 2015, as U.S. Pat. No. 9,141,645; U.S. application Ser. No.13/907,666 is a continuation of U.S. application Ser. No. 13/619,237filed on Sep. 14, 2012, and issued on Nov. 19, 2013, as U.S. Pat. No.8,588,949; U.S. application Ser. No. 13/619,237 is a continuation ofU.S. application Ser. No. 12/035,112 filed on Feb. 21, 2008, and issuedon Oct. 16, 2012, as U.S. Pat. No. 8,290,603; U.S. application Ser. No.12/035,112 is a continuation-in-part of U.S. application Ser. No.10/861,653 filed on Jun. 5, 2004, and issued on Aug. 4, 2009, as U.S.Pat. No. 7,571,014; U.S. application Ser. No. 10/861,653 is acontinuation-in-part of U.S. application Ser. No. 10/816,217 filed onApr. 1, 2004, and issued on Jul. 31, 2012, as U.S. Pat. No. 8,234,395;U.S. application Ser. No. 10/816,217 claims priority to U.S. Prov. App.60/490,768 filed on Jul. 28, 2003. The entire contents of the Ser. No.16/009,182; Ser. No. 14/808,875; Ser. No. 13/907,666; Ser. No.13/619,237; Ser. No. 12/035,112; Ser. No. 10/861,653; Ser. No.10/816,217; and 60/490,768 applications are incorporated herein byreference.

BACKGROUND OF THE INVENTION Field of the Invention

The invention is generally related to the area of consumer electronicsand human-computer interaction. In particular, the invention is relatedto user interfaces for controlling or manipulating a plurality ofmultimedia players in a multi-zone system.

An enduring passion for quality audio reproduction or system iscontinuing to drive demands from users. One of the demands includes anaudio system in a house in which, for example, one could grill toclassic rock on a patio while another one may cook up his/her own musicselections in a kitchen. This is all at the same time while a teenagercatches a ballgame in a family room, and another one blasts pop in abedroom. And the best part of such audio system is that each familymember does not need his or her own stereo system—one system giveseveryone access to all the music sources.

Currently, one of the systems that can meet part of such demand is aconventional multi-zone audio system that usually includes a number ofaudio players. Each of the audio players has its own amplifier(s) and aset of speakers and typically installed in one place (e.g., a room). Inorder to play an audio source at one location, the audio source must beprovided locally or from a centralized location. When the audio sourceis provided locally, the multi-zone audio system functions as acollection of many stereo systems, making source sharing difficult. Whenthe audio source is provided centrally, the centralized location mayinclude a juke box, many compact discs, an AM or FM radio, tapes, orothers. To send an audio source to an audio player demanding suchsource, a cross-bar type of device is used to prevent the audio sourcefrom going to other audio players that may be playing other audiosources.

In order to achieve playing different audio sources in different audioplayers, the traditional multi-zone audio system is generally eitherhard-wired or controlled by a pre-configured and pre-programmedcontroller. While the pre-programmed configuration may be satisfactoryin one situation, it may not be suitable for another situation. Forexample, a person would like to listen to broadcast news from his/herfavorite radio station in a bedroom, a bathroom and a den whilepreparing to go to work in the morning. The same person may wish tolisten in the den and the living room to music from a compact disc inthe evening. In order to satisfy such requirements, two groups of audioplayers must be established. In the morning, the audio players in thebedroom, the bathroom and the den need to be grouped for the broadcastnews. In the evening, the audio players in the den and the living roomare grouped for the music. Over the weekend, the audio players in theden, the living room, and a kitchen are grouped for party music. Becausethe morning group, the evening group and the weekend group contain theden, it can be difficult for the traditional system to accommodate therequirement of dynamically managing the ad hoc creation and deletion ofgroups.

There is a need for dynamic control of the audio players as a group.With a minimum manipulation, the audio players may be readily grouped.There is further a need for user interfaces that may be readily utilizedto group and control the audio players.

SUMMARY OF THE INVENTION

This section is for the purpose of summarizing some aspects of thepresent invention and to briefly introduce some preferred embodiments.Simplifications or omissions in this section as well as in the abstractor the title of this description may be made to avoid obscuring thepurpose of this section, the abstract and the title. Suchsimplifications or omissions are not intended to limit the scope of thepresent invention.

In general, the present invention pertains to controlling a plurality ofmultimedia players, or simply players, in groups. According to oneaspect of the present invention, a mechanism is provided to allow a userto group some of the players according to a theme or scene, where eachof the players is located in a zone. When the scene is activated, theplayers in the scene react in a synchronized manner. For example, theplayers in the scene are all caused to play an audio source or music ina playlist, wherein the audio source may be located anywhere on anetwork.

According to another aspect of the present invention, various userinterfaces are provided to facilitate a user to create and manage agroup and also create, edit or update a playlist for the group.Depending on implementation, the user interfaces may be displayed on atouch screen from which a user may act directly with the screen to groupthe players, the user interfaces may also be displayed on a display withother means (e.g., a stylus, a scroll wheel, or arrow buttons) tointeract. In addition, the user displays are configured to showgraphically how many players in a group versus other individual players.

According to still another aspect of the present invention, the scenemay be activated at any time or a specific time. A user may activate thescene at any time so that only some selected zones in an entertainmentsystem facilitate a playback of an audio source. When the scene isactivated at a specific time, the scene may be used as an alarm orbuzzer.

According to still another aspect of the present invention, acontrolling device (also referred to herein as controller) is providedto facilitate a user to select any of the players in the system to formrespective groups each of which is set up per a scene. Although variousscenes may be saved in any of the members in a group, commands arepreferably sent from the controller to the rest of the members when oneof the scenes is executed. Depending on implementation, the commandsinclude parameters pertaining to identifiers of the players, volumessettings, audio source and etc.

According to yet another aspect of the present invention, a configurablemodule is implemented in the controlling device that providesinteractive graphic user interface for forming, managing and controllinggroups in the system, de-grouping a group or adjusting audio volume ofindividual players or a group of players.

The present invention may be implemented in many forms includingsoftware, hardware or a combination of both. According to oneembodiment, the present invention is directed to a method for groupingsin a multi-zone media system, the method comprises providing a mechanismto allow a user to determine which players in the system to beassociated with a theme representing a group; and configuring the themewith parameters pertaining to the players, wherein the theme isactivated at anytime or a specific time so that the players react in asynchronized manner. The players in a scene are synchronized to play amultimedia file when the scene is activated.

According to another embodiment, the present invention is directed to amethod for groupings in a multi-zone media system, the method comprisesproviding a user interface to allow a user to determine which players inthe system to be associated with a theme representing a group, the userinterface showing all available players at the time the user interfaceis created; allowing the user to visually select one of the players tobe a first member of the theme; allowing the user to add more of theavailable players to the theme, if desired; and configuring the themewith parameters pertaining to the players. The theme may be activated atanytime or a specific time so that the players react in a synchronizedmanner.

According to still another embodiment, the present invention is directedto an entertainment system for grouping players, the system comprises: aplurality of players, each located in one zone; and a controllerproviding a mechanism to allow a user to select which of the players tobe associated with a theme representing a group; and configure the themewith parameters pertaining to the selected players, wherein the theme isactivated at anytime or a specific time so that the selected playersreact in a synchronized manner. As a result, the selected players aresynchronized to play a multimedia that is in a digital format andretrieved from a source over a network.

One of the objects, features, and advantages of the present invention isto remotely control a plurality of multimedia players in a multi-zonesystem, playing and controlling the audio source synchronously if theplayers are grouped together, or playing and controlling the audiosource individually if the players are disassociated with each other.

Other objects, features, and advantages of the present invention willbecome apparent upon examining the following detailed description of anembodiment thereof, taken in conjunction with the attached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other features, aspects, and advantages of the presentinvention will become better understood with regard to the followingdescription, appended claims, and accompanying drawings where:

FIG. 1 shows an exemplary configuration in which the present inventionmay be practiced;

FIG. 2A shows an exemplary functional block diagram of a player inaccordance with the present invention;

FIG. 2B shows an example of a controller that may be used to remotelycontrol one of more players of FIG. 2A;

FIG. 2C shows an exemplary internal functional block diagram of acontroller in accordance with one embodiment of the present invention;

FIG. 3A provides an illustration of one zone scene, where the leftcolumn shows the starting zone grouping—all zones are separate, thecolumn on the right shows the effects of grouping the zones to make agroup of 3 zones named after “Morning”;

FIG. 3B shows that a user defines multiple groups to be gathered at thesame time;

FIG. 3C shows an exemplary user interface (UI) of individual zones in ahouse;

FIG. 3D shows a user interface as a result of the use activating “linkzones” of FIG. 3C;

FIG. 3E shows a user interface after the user has selected some of theavailable zone players into the scene;

FIG. 4 shows an exemplary user interface that may be displayed on acontroller or a computer of FIG. 1;

FIG. 5A shows another user interface to allow a user to form a scene;

FIG. 5B shows still another user interface to allow a user to form ascene;

FIG. 5C shows a user interface to allow a user to adjust a volume levelof the zone players in a zone scene individually or collectively; and

FIG. 6 shows a flowchart or process of providing a player theme or azone scene for a plurality of players, where one or more of the playersare placed in a zone.

FIGS. 7A and 7B illustrate a sequence of screen displays in accordancewith one embodiment of the present invention for controlling a pluralityof players;

FIG. 7C shows a sequence of screen displays in accordance with oneembodiment of the present invention for alternatively controllingplayers;

FIGS. 8A and 8B show a sequence of screen displays in accordance withone embodiment of the present invention for controlling playersregarding audio volume;

FIG. 9 shows a flowchart or process of controlling a plurality of zonesplayers according to one embodiment of the present invention;

FIG. 10 shows a flowchart or process of controlling audio volume of aplurality of players in a zone group according to one embodiment of thepresent invention; and

FIGS. 11A-11D show a sequence of screen displays in accordance with oneembodiment of the present invention on a computing device foralternatively controlling players.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The detailed description of the invention is presented largely in termsof procedures, steps, logic blocks, processing, and other symbolicrepresentations that directly or indirectly resemble the operations ofdata processing devices coupled to networks. These process descriptionsand representations are typically used by those skilled in the art tomost effectively convey the substance of their work to others skilled inthe art. Numerous specific details are set forth in order to provide athorough understanding of the present invention. However, it will becomeobvious to those skilled in the art that the present invention may bepracticed without these specific details. In other instances, well knownmethods, procedures, components, and circuitry have not been describedin detail to avoid unnecessarily obscuring aspects of the presentinvention.

Reference herein to “one embodiment” or “an embodiment” means that aparticular feature, structure, or characteristic described in connectionwith the embodiment can be included in at least one embodiment of theinvention. The appearances of the phrase “in one embodiment” in variousplaces in the specification are not necessarily all referring to thesame embodiment, nor are separate or alternative embodiments mutuallyexclusive of other embodiments. Further, the order of blocks in processflowcharts or diagrams representing one or more embodiments of theinvention do not inherently indicate any particular order nor imply anylimitations in the invention.

Referring now to the drawings, in which like numerals refer to likeparts throughout the several views. FIG. 1 shows an exemplaryconfiguration 100 in which the present invention may be practiced. Theconfiguration may represent, but not be limited to, a part of aresidential home, a business building or a complex with multiple zones.There are a number of multimedia players of which three examples 102,104 and 106 are shown as audio devices. Each of the audio devices may beinstalled or provided in one particular area or zone and hence referredto as a zone player herein.

As used herein, unless explicitly stated otherwise, an audio source oraudio sources are in digital format and can be transported or streamedover a data network. To facilitate the understanding of the presentinvention, it is assumed that the configuration 100 represents a home.Thus, the zone player 102 and 104 may be located in two of the bedroomsrespectively while the zone player 106 may be installed in a livingroom. All of the zone players 102, 104 and 106 are coupled directly orindirectly to a data network 108. In addition, a computing device 110 isshown to be coupled on the network 108. In reality, any other devicessuch as a home gateway device, a storage device, or an MP3 player may becoupled to the network 108 as well.

The network 108 may be a wired network, a wireless network or acombination of both. In one example, all devices including the zoneplayers 102, 104 and 106 are coupled to the network 108 by wirelessmeans based on an industry standard such as IEEE 802.11. In yet anotherexample, all devices including the zone players 102, 104 and 106 arepart of a local area network that communicates with a wide area network(e.g., the Internet).

Many devices on the network 108 are configured to download and storeaudio sources. For example, the computing device 110 can download audiosources from the Internet and store the downloaded sources locally forsharing with other devices on the Internet or the network 108. Thecomputing device 110 or any of the zone players can also be configuredto receive streaming audio. Shown as a stereo system, the device 112 isconfigured to receive an analog audio source (e.g., from broadcasting)or retrieve a digital audio source (e.g., from a compact disk). Theanalog audio sources can be converted to digital audio sources. Inaccordance with the present invention, the audio source may be sharedamong the devices on the network 108.

Two or more zone players may be grouped together to form a new zonegroup. Any combinations of zone players and an existing zone group maybe grouped together. In one instance, a new zone group is formed byadding one zone player to another zone player or an existing zone group.

Referring now to FIG. 2A, there is shown an exemplary functional blockdiagram of a zone player 200 in accordance with the present invention.The zone player 200 includes a network interface 202, a processor 204, amemory 206, an audio processing circuit 210, a module 212, andoptionally, an audio amplifier 214 that may be internal or external. Thenetwork interface 202 facilitates a data flow between a data network(i.e., the data network 108 of FIG. 1) and the zone player 200 andtypically executes a special set of rules (i.e., a protocol) to senddata back and forth. One of the common protocols used in the Internet isTCP/IP (Transmission Control Protocol/Internet Protocol). In general, anetwork interface manages the assembling of an audio source or file intosmaller packets that are transmitted over the data network orreassembles received packets into the original source or file. Inaddition, the network interface 202 handles the address part of eachpacket so that it gets to the right destination or intercepts packetsdestined for the zone player 200.

The network interface 202 may include one or both of a wirelessinterface 216 and a wired interface 217. The wireless interface 216,also referred to as a RF interface, provides network interface functionsby a wireless means for the zone player 200 to communicate with otherdevices in accordance with a communication protocol (such as thewireless standard IEEE 802.11a, 802.11b or 802.11g). The wired interface217 provides network interface functions by a wired means (e.g., anEthernet cable). In one embodiment, a zone player includes both of theinterfaces 216 and 217, and other zone players include only a RF orwired interface. Thus these other zone players communicate with otherdevices on a network or retrieve audio sources via the zone player. Theprocessor 204 is configured to control the operation of other parts inthe zone player 200. The memory 206 may be loaded with one or moresoftware modules that can be executed by the processor 204 to achievedesired tasks. According to one aspect of the present invention, asoftware module implementing one embodiment of the present invention isexecuted, the processor 204 operates in accordance with the softwaremodule in reference to a saved zone group configuration characterizing azone group created by a user, the zone player 200 is caused to retrievean audio source from another zone player or a device on the network.

According to one embodiment of the present invention, the memory 206 isused to save one or more saved zone configuration files that may beretrieved for modification at any time. Typically, a saved zone groupconfiguration file is transmitted to a controller (e.g., the controllingdevice 140 or 142 of FIG. 1, a computer, a portable device, or a TV)when a user operates the controlling device. The zone groupconfiguration provides an interactive user interface so that variousmanipulations or control of the zone players may be performed.

The audio processing circuit 210 resembles most of the circuitry in anaudio playback device and includes one or more digital-to-analogconverters (DAC), an audio preprocessing part, an audio enhancement partor a digital signal processor and others. In operation, when an audiosource is retrieved via the network interface 202, the audio source isprocessed in the audio processing circuit 210 to produce analog audiosignals. The processed analog audio signals are then provided to theaudio amplifier 214 for playback on speakers. In addition, the audioprocessing circuit 210 may include necessary circuitry to process analogsignals as inputs to produce digital signals for sharing with otherdevices on a network.

Depending on an exact implementation, the module 212 may be implementedas a combination of hardware and software. In one embodiment, the module212 is used to save a scene. The audio amplifier 214 is typically ananalog circuit that powers the provided analog audio signals to driveone or more speakers.

Referring now to FIG. 2B, there is shown an exemplary controller 240,which may correspond to the controlling device 140 or 142 of FIG. 1. Thecontroller 240 may be used to facilitate the control of multi-mediaapplications, automation and others in a complex. In particular, thecontroller 240 is configured to facilitate a selection of a plurality ofaudio sources available on the network, controlling operations of one ormore zone players (e.g., the zone player 200) through a RF interfacecorresponding to the RF interface 216 of FIG. 2A. According to oneembodiment, the wireless means is based on an industry standard (e.g.,infrared, radio, wireless standard IEEE 802.11a, 802.11b or 802.11g).When a particular audio source is being played in the zone player 200, apicture, if there is any, associated with the audio source may betransmitted from the zone player 200 to the controller 240 for display.In one embodiment, the controller 240 is used to synchronize more thanone zone players by grouping the zone players. In another embodiment,the controller 240 is used to control the volume of each of the zoneplayers in a zone group individually or together.

The user interface for the controller 240 includes a screen 242 (e.g., aLCD screen) and a set of functional buttons as follows: a “zones” button244, a “back” button 246, a “music” button 248, a scroll wheel 250, “ok”button 252, a set of transport control buttons 254, a mute button 262, avolume up/down button 264, a set of soft buttons 266 corresponding tothe labels 268 displayed on the screen 242.

The screen 242 displays various screen menus in response to a user'sselection. In one embodiment, the “zones” button 244 activates a zonemanagement screen or “Zone Menu”, which is described in more detailsbelow. The “back” button 246 may lead to different actions depending onthe current screen. In one embodiment, the “back” button triggers thecurrent screen display to go back to a previous one. In anotherembodiment, the ‘back” button negates the user's erroneous selection.The “music” button 248 activates a music menu, which allows theselection of an audio source (e.g., a song) to be added to a zoneplayer's music queue for playback.

The scroll wheel 250 is used for selecting an item within a list,whenever a list is presented on the screen 242. When the items in thelist are too many to be accommodated in one screen display, a scrollindicator such as a scroll bar or a scrod arrow is displayed beside thelist. When the scrod indicator is displayed, a user may rotate thescroll wheel 250 to either choose a displayed item or display a hiddenitem in the list. The “ok” button 252 is used to confirm the userselection on the screen 242.

There are three transport buttons 254, which are used to control theeffect of the currently playing song. For example, the functions of thetransport buttons may include play/pause and forward/rewind a song, moveforward to a next song track, or move backward to a previous track.According to one embodiment, pressing one of the volume control buttonssuch as the mute button 262 or the volume up/down button 264 activates avolume panel. In addition, there are three soft buttons 266 that can beactivated in accordance with the labels 268 on the screen 242. It can beunderstood that, in a multi-zone system, there may be multiple audiosources being played respectively in more than one zone players. Themusic transport functions described herein shall apply selectively toone of the sources when a corresponding one of the zone players or zonegroups is selected.

FIG. 2C illustrates an internal functional block diagram of an exemplarycontroller 270, which may correspond to the controller 240 of FIG. 2B.The screen 272 on the controller 270 may be a LCD screen. The screen 272communicates with and is commanded by a screen driver 274 that iscontrolled by a microcontroller (e.g., a processor) 276. The memory 282may be loaded with one or more application modules 284 that can beexecuted by the microcontroller 276 with or without a user input via theuser interface 278 to achieve desired tasks. In one embodiment, anapplication module is configured to facilitate grouping a number ofselected zone players into a zone group and synchronizing the zoneplayers for one audio source. In another embodiment, an applicationmodule is configured to control together the audio volumes of the zoneplayers in a zone group. In operation, when the microcontroller 276executes one of the application modules 284, the screen driver 274generates control signals to drive the screen 272 to display anapplication specific user interface accordingly, more of which will bedescribed below.

The controller 270 includes a network interface 280 referred to as a RFinterface 280 that facilitates wireless communication with a zone playervia a corresponding RF interface thereof. In one embodiment, thecommands such as volume control and audio playback synchronization aresent via the RF interfaces. In another embodiment, a saved zone groupconfiguration is transmitted between a zone player and a controller viathe RF interfaces. The controller 270 may control one or more zoneplayers, such as 102, 104 and 106 of FIG. 1. Nevertheless, there may bemore than one controllers, each preferably in a zone (e.g., a room) andconfigured to control any one and all of the zone players.

In one embodiment, a user creates a zone group including at least twozone players from the controller 240 that sends signals or data to oneof the zone players. As all the zone players are coupled on a network,the received signals in one zone player can cause other zone players inthe group to be synchronized so that all the zone players in the groupplayback an identical audio source or a list of identical audio sourcesin a timely synchronized manner. Similarly, when a user increases theaudio volume of the group from the controller, the signals or data ofincreasing the audio volume for the group are sent to one of the zoneplayers and causes other zone players in the group to be increasedtogether in volume and in scale.

According to one implementation, an application module is loaded inmemory 282 for zone group management. When a predetermined key (e.g. the“zones” button 244) is activated on the controller 240, the applicationmodule is executed in the microcontroller 276. The input interface 278coupled to and controlled by the microcontroller 276 receives inputsfrom a user. A “Zone Menu” is then displayed on the screen 272. The usermay start grouping zone players into a zone group by activating a “LinkZones” or “Add Zone” soft button, or de-grouping a zone group byactivating an “Unlink Zones” or “Drop Zone” button. The detail of thezone group manipulation will be further discussed below.

As described above, the input interface 278 includes a number offunction buttons as well as a screen graphical user interface. It shouldbe pointed out that the controller 240 in FIG. 2B is not the onlycontrolling device that may practice the present invention. Otherdevices that provide the equivalent control functions (e.g., a computingdevice, a hand-held device) may also be configured to practice thepresent invention. In the above description, unless otherwisespecifically described, it is clear that keys or buttons are generallyreferred to as either the physical buttons or soft buttons, enabling auser to enter a command or data.

One mechanism for ‘joining’ zone players together for music playback isto link a number of zone players together to form a group. To link anumber of zone players together, a user may manually link each zoneplayer or room one after the other. For example, there is a multi-zonesystem that includes the following zones.

-   Bathroom-   Bedroom-   Den-   Dining Room-   Family Room-   Foyer

If the user wishes to link 5 of the 6 zone players using the currentmechanism, he/she must start with a single zone and then manually linkeach zone to that zone. This mechanism may be sometimes quite timeconsuming. According to one embodiment, a set of zones can bedynamically linked together using one command. Using what is referred toherein as a theme or a zone scene, zones can be configured in aparticular scene (e.g., morning, afternoon, or garden), where apredefined zone grouping and setting of attributes for the grouping areautomatically effectuated.

For instance, a “Morning” zone scene/configuration command would linkthe Bedroom, Den and Dining Room together in one action. Without thissingle command, the user would need to manually and individually linkeach zone. FIG. 3A provides an illustration of one zone scene, where theleft column shows the starting zone grouping—all zones are separate, thecolumn on the right shows the effects of grouping the zones to make agroup of 3 zones named after “Morning”.

Expanding this idea further, a Zone Scene can be set to create multiplesets of linked zones. For example, a scene creates 3 separate groups ofzones, the downstairs zones would be linked together, the upstairs zoneswould be linked together in their own group, and the outside zones (inthis case the patio) would move into a group of its own.

In one embodiment as shown in FIG. 3B, a user defines multiple groups tobe gathered at the same time. For example: an “Evening Scene” is desiredto link the following zones:

Group 1

-   -   Bedroom    -   Den    -   Dining Room

Group 2

-   -   Garage    -   Garden        where Bathroom, Family Room and Foyer should be separated from        any group if they were part of a group before the Zone Scene was        invoked.

One of the important features, benefits and objects in the presentinvention is that that zones do not need to be separated before a zonescene is invoked. In one embodiment, a command is provided and links allzones in one step, if invoked. The command is in a form of a zone scene.After linking the appropriate zones, a zone scene command could applythe following attributes:

Set volumes levels in each zones (each zone can have a different volume)

Mute/Unmute zones.

Select and play specific music in the zones.

Set the play mode of the music (Shuffle, Repeat, Shuffle-repeat)

Set the music playback equalization of each zone (e.g., bass treble).

A further extension of this embodiment is to trigger a zone scenecommand as an alarm clock function. For instance the zone scene is setto apply at 8:00 am. It could link appropriate zones automatically, setspecific music to play and then stop the music after a defined duration.Although a single zone may be assigned to an alarm, a scene set as analarm dock provides a synchronized alarm, allowing any zones linked inthe scene to play a predefined audio (e.g., a favorable song, apredefined playlist) at a specific time or for a specific duration. If,for any reason, the scheduled music failed to be played (e.g., an emptyplaylist, no connection to a share, failed UPnP, no Internet connectionfor an Internet Radio station), a backup buzzer will sound. This buzzerwill be a sound file that is stored in a zone player.

FIG. 3C shows an exemplary user interface (UI) 330 to show all availableindividual zones in a house. Each zone player can play a type of media(such as music, photographs and video) independently. Each zone playerin the UI may be highlighted on the screen using either a touch screenor an input device such as a stylus, a scroll wheel, or arrow buttons.If a user wishes to link players in some rooms together to form a groupso that players in these rooms are playing the same media in asynchronized fashion, the user may activate the grouping function byactivating “link zones” 332 that leads to a user interface 340 as shownin FIG. 3D.

The UI 340 shows that the zone players available for grouping areselectable. In one embodiment, the UI 340 is displayed (e.g., a touchscreen) to allow the user to choose what zone players to be included ina group named after “Bedroom” so that they are all playing the same song“The Beatles”. It should be noted that the user may have an option toname the scene, for example, “afternoon”, or “light music”. In theexample shown in FIGS. 3C and 3D, the user selects the Bedroom zone andthen the “Link Zones” button 332, as a result, the default name for thescene being created is named after “Bedroom”. As shown FIG. 3D, a zoneplayer may be selected or highlighted by “checking” it into the group.In another embodiment, the selection action could also be achievedthrough pressing the “+−” icon next to each zone.

FIG. 3E shows a user interface 350 after the user has selected some ofthe available zone players into the scene. The display 350 is sodisplayed that a user can easily tell a group of linked players from theisolated players. According to one embodiment, a display may be providedto visually tell a user what have been grouped and what are not grouped.The display may even show various groups by size to indicate a number ofzone players in each of the groups, for example, the larger a groupappears, the more zone players there are in the group.

In general, all players in a group are caused to play the media beingplayed in the first member used to form the group. In the case of FIG.3E, the zone player in the bedroom is used to initiate the group or thefirst one in the group. At the time of forming the group, the zoneplayer in the bedroom is playing “the Beatles”, as soon as a second zoneplayer joins the group, the second zone player starts to be synchronizedwith the one already in the group and thus to play “the Beatles” in thiscase. As will be described below, the user now can switch the group ofplayers to any other type of media or a different piece of music and allof the zone players in the group will play the selected media at thesame time.

FIG. 4 shows an exemplary user interface 400 that may be displayed on acontroller 142 or a computer 110 of FIG. 1. The interface 400 shows alist of items that may be set up by a user to cause a scene to functionat a specific time. In the embodiment shown in FIG. 4, the list of itemsincludes “Alarm”, “Time”, “Zone”, “Music”, “Frequency” and “Alarmlength”. “Alarm” can be set on or off. When “Alarm” is set on, “Time” isa specific time to set off the alarm. “Zone” shows which zone playersare being set to play a specified audio at the specific time. “Music”shows what to be played when the specific time arrives. “Frequency”allows the user to define a frequency of the alarm. “Alarm length”defines how long the audio is to be played. It should be noted that theuser interface 400 is provided herein to show some of the functionsassociated with setting up an alarm. Depending on an exactimplementation, other functions, such as time zone, daylight savings,time synchronization, and time/date format for display may also beprovided without departing from the present invention.

According to one embodiment, each zone player in a scene may be set upfor different alarms. For example, a “Morning” scene includes three zoneplayers, each in a bedroom, a den, and a dining room. After selectingthe scene, the user may set up an alarm for the scene as whole. As aresult, each of the zone players will be activated at a specific time.

FIG. 5A shows a user interface 500 to allow a user to form a scene. Thepanel on the left shows the available zones in a household. The panel onthe right shows the zones that have been selected and be grouped as partof this scene. Depending on an exact implementation of a user interface,Add/Remove buttons may be provided to move zones between the panels, orzones may be dragged along between panels.

FIG. 5B shows another user interface 520 to allow a user to form ascene. The user interface 520 that may be displayed on a controller or acomputing device, lists available zones in a system. A checkbox isprovided next to each of the zones so that a user may check in the zonesto be associated with the scene.

FIG. 5C shows a user interface 510 to allow a user to adjust a volumelevel of the zone players in a zone scene individually or collectively.As shown in the user interface 510, the ‘Volumes . . . ’ button (shownas sliders, other forms are possible) allows the user to affect thevolumes of the associated zone players when a zone scene is invoked. Inone embodiment, the zone players can be set to retain whatever volumethat they currently have when the scene is invoked. Additionally theuser can decide if the volumes should be unmated or muted when the sceneis invoked.

FIG. 6 shows a flowchart or process 600 of providing a player theme or azone scene for a plurality of players, where one or more of the playersare placed in a zone. The process 600 is presented in accordance withone embodiment of the present invention and may be implemented in amodule to be located in the memory 282 of FIG. 2C.

The process 600 is initiated only when a user decides to proceed with azone scene at 602. The process 600 then moves to 604 where it allows auser to decide which zone players to be associated with the scene. Forexample, there are ten players in a household, and the scene is namedafter “Morning”. The user may be given an interface to select four ofthe ten players to be associated with the scene. At 606, the scene issaved. The scene may be saved in any one of the members in the scene. Inthe example of FIG. 1, the scene is saved in one of the zone players anddisplayed on the controller 142. In operation, a set of data pertainingto the scene includes a plurality of parameters. In one embodiment, theparameters include, but may not be limited to, identifiers (e.g., IPaddress) of the associated players and a playlist. The parameters mayalso include volume/tone settings for the associated players in thescene. The user may go back to 602 to configure another scene ifdesired.

Given a saved scene, a user may activate the scene at any time or set upa timer to activate the scene at 610. The process 600 can continue whena saved scene is activated at 610. At 612, upon the activation of asaved scene, the process 600 checks the status of the players associatedwith the scene. The status of the players means that each of the playersshad be in condition to react in a synchronized manner. In oneembodiment, the interconnections of the players are checked to make surethat the players communicate among themselves and/or with a controllerif there is such a controller in the scene.

It is assumed that all players associated with the scene are in goodcondition. At 614, commands are executed with the parameters (e.g.,pertaining to a playlist and volumes). In one embodiment, data includingthe parameters is transported from a member (e.g., a controller) toother members in the scene so that the players are caused to synchronizean operation configured in the scene. The operation may cause allplayers to play back a song in identical or different volumes or to playback a pre-stored file.

One of the features, benefits and advantages in the present invention isto allow sets of related devices (controllers and operating components)to exist as a group without interfering with other components that arepotentially visible on the same wired or wireless network. Each of thesets is configured to a theme or a scene.

FIGS. 7A and 7B illustrate a sequence of screens in accordance with oneembodiment of the present invention for manipulating a plurality of zoneplayers for an exemplary four-zone distributed audio system. There arefour zone players in four zones and referred to as: “Zone 1”, “Zone 2”,“Zone 3” and “Zone 4”.

FIG. 7A shows a grouping process. A first “Zone Menu” 702 shows a firstlist 703 of available zone players. One of the zone players or existingzone group is selected as a zone group head 704, which is indicated withuniformly highlighted texts. It is noted the highlighted texts may alsobe expressed as grouped icons, concatenated texts or otherrepresentations of a current selection on the screen. The highlightedtexts react to a user's scrolling selection (e.g., via a scroll wheel250 of FIG. 2B). Also shown as one of the bottom labels on the first“Zone Menu” 702 is the “Link Zones” or “Add Zone” label 706 thatcorresponds to a soft button (e.g., soft button 266 of FIG. 2B). Ascroll indicator is displayed beside the first display 702 when thenumber of items is too many to be accommodated in one display.

When the soft button corresponding to “Link Zones” or “Add Zone” 706 isactivated, a second “Zone Menu” 708 is displayed. A second list showseligible zone groups or zone players 709 for the zone group head 704.Since “Zone 2” has been selected as the zone group head to form a zonegroup, the eligible zone groups and zone players are now “Zone 1”, “Zone3” and “Zone 4”. As shown as highlighted texts, the zone player (Zone 4)710 is selected to be grouped with the zone group head (Zone 2) 704 toform a new zone group.

After the user confirms the selection, the newly formed zone groupconfiguration is updated and the audio source can be playedsynchronously for all of the zone players in the newly formed zone groupas shown in FIG. 7A. The first “Zone menu” 712 is displayed again withthe newly formed zone group 714 as one of the choices along with otheravailable zone players. Depending on implementation, any zone playersthat have been used in a group may or may not be used in another group.As shown in FIG. 7A, the zone players 2 and 4 are in a zone groupstarted by the zone player 2, the zone player 4 (even the zone player 2)can be in another zone group, for example, while a player in a livingroom is grouped with a player in a dining room, the same player in theliving room can be grouped with a player in a family room.

In another embodiment, a display shows a list of available zone playersfor grouping. An interactive graphic interface allows a user tointeractively select some of the available zone players that areautomatically grouped. Anyone of the selected zone players in the groupmay be elected to be a group head such that other players in the groupare synchronized to follow the group head.

According to one embodiment, the synchronization of all zone players inthe new zone group is achieved with the following steps: 1) choosing anaudio source from one of the zone players in the group, 2) checking ifthe chosen audio source is available locally on each of the zoneplayers, 3) retrieving the audio source from another device (e.g., otherzone players) which has the audio source via the data network, if theaudio source is not available locally, and 4) playing the audio sourceon each of the zone players synchronously. In another embodiment, theaudio source in the group or player to be added is chosen as default forother zone players. As shown in FIG. 7A, the audio source for “Zone 4”is track 10 with artist D. Accordingly, the zone player “Zone 2” willplay track 10 with artist D synchronously with “Zone 4” after the newzone group is formed.

FIG. 7B shows a de-grouping process in reference to FIG. 7A. A first“Zone Menu” 722 shows a first list 723 of available zone players andzone groups, if there is any. One of the zone groups (“Zone 2+Zone 4”)to be de-grouped is selected as shown in highlight texts 724. When the“Unlink Zones” or “Drop Zone” soft button 726 is activated, the second“Zone Menu” 728 displays a list 729 that shows all of the member zoneplayers in the selected zone group. One of the zone players 730 (Zone 4)in the selected zone group is chosen to be disassociated from the zonegroup 724. When the de-grouping is confirmed by user, the “Zone Menu”732 is presented to reflect the de-grouping of a zone group (e.g., “Zone2”) 734. When zone players are grouped together, all of the zone playersplay the same audio source synchronously. If a zone player isdisassociated or dropped from the zone group, the remaining zone playersin the zone group continue playing the audio source. In the “Zone Menu”732, it shows the zone player (Zone 4) has no music 736 after thedisassociation from the zone group, while the remaining player (Zone 2)continues to play the same music—track 10 with artist D.

Referring now to FIG. 7C, there shows a sequence of screens depictingalternative steps of creating a zone group. An exemplary five-zone audiosystem is used to describe these alternative steps. There are five zoneplayers located in a living room, a dining room, a kitchen, an officeand a master bedroom. It is assumed that three of the five rooms, theliving room, the dining room and the kitchen, are grouped to form a zonegroup called “LivingRoom+DiningRoom+Kitchen”. The Screen display 750shows that an audio source called “Counting Crows” 752 is being playedon all the zone players in the group. When a user activates the “music”button 248 on a controller 240 of FIG. 2B, the screen display 760 showsa “Music Menu” page which shows a list of choices 762. One of thechoices is “Play Music From Other Rooms” 764. When the user selects thisoption, the screen display 770 for “Play Same Music As Other Rooms”displays a list 772 of eligible rooms or zone players to be grouped withthe current group “Living Room+Dining Room+Kitchen”. In this example theeligible rooms are Office 774 and Master Bedroom 776. It is assumed thatthe “Office” 774 which is indicated with the highlighted bar is chosen.As a result, the zone player “Office” is grouped with the original zonegroup to become a new group called“LivingRoom+DiningRoom+Kitchen+Office” as shown in screen display 780.And the audio source “Miles Davis” 782 from the zone player “Office” isplayed synchronously on all zone players in the new group.

Referring now to FIGS. 8A and 8B, there is shown a sequence of screensin accordance with one embodiment of the present invention forcontrolling audio volume of zone players in a zone group. These screensare activated and displayed when one of the volume control buttons isactivated. According to one embodiment, the volume control buttons are“mute” button 262 and “volume up/down” button 264 on the controller 240of FIG. 2B.

FIG. 8A shows that the current active zone player is in a living room ofa house. The “Volume” panel 810 is displayed for the current zone player“Living Room”. A volume meter 812 is included to indicate a volumeadjustment made by a user. A mute icon 814 is shown when the “mute”button is activated while the audio is on.

FIG. 8B shows that the current active zone group includes five rooms:living room, dining room, kitchen, den and study. A “Volume” panel 830for the zone group is displayed for the convenience of a user. In thedisplay, a plurality of volume meters 831 is shown. One of the volumemeters is for the entire zone group 832. Other volume meters are for allthe zone players in the group, one for each room or zone player. Ascroll indicator is shown as a downward arrow 836 that indicates thescreen is too small to hold all volume meters in one screen display.There are more hidden choices that can be viewed by scrolling down. Thescrolling cursor 836 is highlighted (e.g., Den 834). As a user scrollsdown the list of volume meters 831, the contents on “Volume” panel 840includes the volume meter of the next zone player on the list (e.g.,Study 844). Similarly, when the scroll indicator is an upward arrow 842,other hidden choices within the list can be viewed by scrolling up.

When a user adjusts the audio volume, only the highlighted zones or zoneplayers are affected. If the highlighted selection is one zone player,the audio adjustment will only apply to that particular chosen player.If multiple zone players are selected, the adjustment applies to all ofthe chosen players similar to the volume adjustment to the group volumemeter described below. The audio volume of all zone players in the zonegroup will be affected, if the highlighted selection is at the volumemeter of the entire group 832. Any audio volume adjustment to the zonegroup applies to all of the zone players equally within the entire zonegroup. Depending on implementation, the relative difference of the audiovolume among zone players in the group remains unchanged either inpercentage or graphic strength.

FIG. 9 shows a flowchart or process 900 of implementing one embodimentof the present invention for manipulating zone players. The process 900,which is preferably understood in conjunction with the previous figuresespecially with FIGS. 2B, 2C, 7A and 7B, may be implemented in software,hardware, or a combination of both. According to one embodiment, anapplication module implementing the process 900 is embedded in acontroller, for example, the device 240 of FIG. 2C. The module may beloaded in the memory 282 to be executed by the microcontroller(processor) 276 and operating in conjunction with user input commandsvia the input interface 278.

The process 900 starts with a display at 902 showing a list of zoneplayers or existing zone groups, if there are any. When the availablezone players and zone groups in the list is too long to be presented onthe display, a scroll indicator will be displayed beside the list. Auser may access the hidden items within the list by scrolling eitherupward or downward. At 903, the process 900 splits into two branchesbased on the following tasks: 1) grouping a plurality of zone players toform a zone group, or 2) de-grouping a zone group.

If the process 900 performs the grouping task, the process moves onto904. The user selects one of the zone players as a zone group head orthe zone groups from the list. Once the selection is made and a key isactivated (e.g., a soft button 706 as shown in FIG. 7A), a new list(e.g., screen 708 as shown in FIG. 7A) showing all of the zone playersand zone groups that are eligible to be grouped with the selection at904 is displayed at 908. In one embodiment as shown in FIG. 7A, when thezone player “Zone 2” is selected as the zone group head in a four-zoneaudio system, the eligible zone players are all other zone players(“Zone 1”, “Zone 3” and “Zone 4”) except for the zone player “Zone 2”.At 910, the end user is then given the option to select one or more ofthe eligible zone players (e.g., “Zone 4” in FIG. 7A) or one of theeligible zone groups to be grouped into the selection at 904.

At 912, the user has the option to confirm to accept or to discard theselection made at 910. When a confirmation is made, the process 900creates the zone group by synchronizing all of the zone players in thezone group at 914. In one embodiment, the synchronization is performedfirst to determine the audio source in the selected player to be grouped(e.g., Zone 4 in FIG. 7A). Then the audio source is transmitted to allother zone players in the same zone group before playing the audiosource synchronously. In the meantime, this newly formed zone groupconfiguration is updated. For example, the zone group configuration issaved to the memory 206 on the zone player 200 of FIG. 2A via thewireless communication. After the zone player in the newly formed zonegroup has been synchronized, the process 900 moves back to 902. Anupdated list of available zone players and zone groups is displayed. Asan example shown in “Zone Menu” 712 of FIG. 7A, the newly formed zonegroup is listed as one of the items.

Going back to 912, if the selection made at 910 can not be confirmed oris to be discarded, the process 900 goes back to 902 without updatingany zone group configuration. In this case, the original list is intact(e.g., “Zone Menu” 702 of FIG. 7A).

Going back to the grouping task test at 903, when the process 900performs the de-grouping task, the process 900 moves to 924. A userselects one zone group from the first list. Once the selection is made,a list (e.g., screen 728 as shown in FIG. 7B) showing all of the zoneplayers in the selected zone group is displayed at 928. In oneembodiment as shown in FIG. 7B, “Zone 2+Zone 4” is the selected zonegroup, the zone players in the selected zone group are “Zone 2” and“Zone 4”. At 930, the end user selects one or more of the zone players(e.g., Zone 4) from the list to be disassociated from the zone group. At932, the user has the option to confirm or to discard the selection madeat 930.

When the selection is confirmed, the process 900 updates the selectedzone group by disassociating the zone player from the zone group at 934.As a result of the disassociation, the audio source being played in thezone group is no longer available to the disassociated zone player. Inthe meantime, the updated zone group configuration is saved. Forexample, the zone configuration is saved to the memory 206 on the zoneplayer 200 (FIG. 2A). After the zone player has been disassociated, theprocess 900 moves back to 902. The list of available zone players andzone groups is displayed. This time the newly updated zone group islisted as one of the items (e.g., “Zone Menu” 732 of FIG. 7B).

Going back to 932, if the selection made at 930 is to be discarded, theprocess 900 moves back to 902 directly without updating the zone groupconfiguration. In this case, the original list is presented (e.g., “ZoneMenu” 722 of FIG. 7B).

Referring now to FIG. 10, there is shown a flowchart or process 1000 ofcontrolling audio volume of a plurality of zone players in a zone group.The process 1000, which is preferably understood in conjunction with theprevious figures especially with FIGS. 2B, 2C, 8A and 8B, may beimplemented in software, hardware, or a combination of both. Accordingto one embodiment, an application module implementing the process 1000is embedded in a controller, for example, the device 240 of FIG. 2C. Themodule may be loaded in the memory 282 to be executed by themicrocontroller (processor) 276 and operating in conjunction with userinput commands. In one embodiment, the module is configured to controlthe audio volume of a group of zone players. It should be noted thatzone group and a group of zone players are used interchangeably in thedescription for FIG. 10.

At 1005, the process 1000 starts when one of the volume control buttons,for example, “mute” button 262 or “volume up/down” button 264, on thecontroller 240 of FIG. 2B, is activated. The process 1000 splits intotwo branches depending on whether a single zone player or a group ofzone players is to be controlled at 1010.

If it is for a single zone player, a volume meter (e.g., “Volume” panel810 in FIG. 8A) is presented at 1012. At 1014, the end user has optionto adjust the volume for the zone player with one of the volume controlbuttons. The volume control signals are sent from the controller 240(FIG. 2C) to the zone player 200 (FIG. 2A). In one embodiment, thevolume panel displays a moving volume meter showing an increasing ordecreasing bar as the audio volume of the selected zone player isadjusted up or down. In another embodiment, the mute icon is showninstead of a volume meter, when the “mute” button is activated while theaudio is on.

At 1016, the process 1000 is waiting for a user's command. If apredetermined amount of time (e.g., 1 second) has lapsed, the process1000 ends, which means the user is not going to change the volume.Otherwise, the process 1000 goes back to 1012 waiting for another actionfrom the end user.

Referring back to 1010, if process 1000 is for a group of zone players,then the process 1000 moves to the zone group branch at 1022, in which aplurality of volume meters is presented. The plurality of volume metersincludes one for each of the zone players in the zone group, plus onemore for the entire zone group. In one embodiment as shown in FIG. 8B, a“Volume” panel 830 for a plurality of zone players in a zone group ispresented. When the screen is too small to display all the zone players,a scroll indicator is displayed beside the list of the volume meters toindicate that there are hidden volume meters. At 1024, the user selectsone of the volume meters. At 1026, the audio volume is adjusted with oneof the volume control buttons. When the volume adjustment is made to oneof the zone players, only the selected zone player is affected. Theaudio volume of the rest of the zone players remains unchanged. However,when the volume adjustment is made to the zone group, the entire groupwill respond to the volume adjustment in an identical scale. In oneembodiment, the identical scale is based on percentage of the audiovolume. In another embodiment, the identical scale is based on graphicrepresentation of the volume meter.

In one embodiment, an end user increases the audio volume for the zonegroup by 5%. The volume for each of the zone players in the zone groupwill be increased by 5%, and the relative volume loudness differenceamong each of the zone players remains unchanged. In another embodiment,if a user had muted one of the zone players of the zone group, thevolume of all other zone players would have been unchanged.

The group audio volume is calculated based on a predetermined formula.In one embodiment, the group audio volume is the averaged value of theaudio volume of all the zone players within the zone group. In anotherembodiment, the median value may be chosen as the group audio volume.The user uses a scrolling device (e.g., scroll wheel 250 of FIG. 2B) toselect a zone player or the entire zone group and then adjust the volumewith one of the volume control buttons.

At 1028, the process 1000 is waiting for a user's command. If apredetermined amount of time has lapsed, the process 1000 ends, whichmeans the user is not going to change the volume of the zone group.Otherwise, the process 1000 goes back to 1022 waiting for another actionfrom the end user.

FIGS. 11A-11D are a series of screenshots according to one embodiment ofthe present invention on a computing device on a network. The computingdevice may correspond to the device 110 of FIG. 1 and be configured tocontrol operations of the zone players installed in a complex. With alarger screen of the computing device than that of a portablecontroller, the graphic user interface on the larger screen appearsdifferent from that, for example, shown in FIGS. 7A-7B, the underlyingprinciple nevertheless does not depart from the above description forthe portable controller. A user is able to control any one or all of thezone players from the computing device. FIG. 11A shows all individualavailable zone players with the one in the Dining Room being selected toplay a track entitled “A Charlie Brown Christmas”. FIG. 11B shows apop-up window listing remaining available players to be grouped with theone in the Dining Room. Depending on a desirable group, the user canselect from the remaining available players to be grouped with the onein the Dining Room to form a zone group. FIG. 11C shows, as a result,the players in the Dining Room and the living room are in one group andplay synchronously a song entitled “Christmas time is here”. FIG. 11Dshows the control of some exemplary acoustic characteristics of the zoneplayers in a group with the volume being controlled.

The present invention can be implemented in many ways, each of which mayyield one or more of the following benefits, advantages or features. Oneof them is a mechanism provided to enable a user to remotely controlaudio characteristics of the zone players either as a group or as anindividual player. Second, an interactive graphic user interface isprovided to enable a user to manage, create, delete or modify zonegroups. Another one of the benefits, advantages or features is toprovide a user interface to facilitate a user to control audiocharacteristics of an individual zone player or a group of zone players.Other benefits, advantages or features can be appreciated by thoseskilled in the art given the detailed description herein.

The present invention has been described in sufficient detail with acertain degree of particularity. It is understood to those skilled inthe art that the present disclosure of embodiments has been made by wayof examples only and that numerous changes in the arrangement andcombination of parts may be resorted without departing from the spiritand scope of the invention as claimed. While the embodiments discussedherein may appear to include some limitations as to the presentation ofthe information units, in terms of the format and arrangement, theinvention has applicability well beyond such embodiment, which can beappreciated by those skilled in the art. Accordingly, the scope of thepresent invention is defined by the appended claims rather than theforgoing description of embodiments.

What is claimed is:
 1. A computing device, comprising: one or moreprocessors; and tangible, non-transitory computer-readable memorystoring instructions that, when executed by the one or more processors,cause the computing device to perform functions comprising: displaying,via a user interface, a group volume control based on volume levels ofat least two media players forming a media player group, a firstindividual volume control representing a volume level of a first mediaplayer, and a second individual volume control representing a volumelevel of a second media player, wherein the at least two media playerscomprises the first media player and the second media player, andwherein the group volume control is separate from the first individualvolume control and the second individual volume control; receiving afirst input to adjust a position of the displayed first individualvolume control of the first media player in the media player group;based on receiving the first input, (i) adjusting the position of thedisplayed first individual volume control, and (ii) adjusting a positionof the displayed group volume control; receiving a second input toadjust the position of the displayed group volume control; and based onreceiving the second input, (i) adjusting the position of the displayedgroup volume control, (ii) adjusting the position of the displayed firstindividual volume control based on the adjustment of the position of thedisplayed group volume control, and (iii) adjusting a position of thedisplayed second individual volume control based on the adjustment ofthe position of the displayed group volume control, wherein at least oneof the adjusting the position of the displayed first individual volumecontrol and the adjusting the position of the displayed secondindividual volume control is in proportion to the adjustment of theposition of the displayed group volume control.
 2. The computing deviceof claim 1, wherein the functions further comprise: based on receivingthe second input, (i) sending a first instruction to the first mediaplayer, wherein the first instruction causes the first media player toadjust its volume based on the adjustment of the position of thedisplayed group volume control, and (ii) sending a second instruction tothe second media player, wherein the second instruction causes thesecond media player to adjust its volume based on the adjustment of theposition of the displayed group volume control, wherein at least one ofthe adjusting the position of the displayed first individual volumecontrol and the adjusting the position of the displayed secondindividual volume control is in proportion to the adjustment of theposition of the displayed group volume control.
 3. The computing deviceof claim 1, wherein adjusting the position of the displayed firstindividual volume control based on the adjustment of the position of thedisplayed group volume control comprises adjusting the position of thedisplayed first individual volume control based on the adjustment of theposition of the displayed group volume control to preserve a relativevolume difference between a volume level corresponding to the positionof the displayed first individual volume control and a volume levelcorresponding to the position of the displayed group volume control, andwherein adjusting the position of the displayed second individual volumecontrol based on the adjustment of the position of the displayed groupvolume control comprises adjusting the position of the displayed secondindividual volume control based on the adjustment of the position of thedisplayed group volume control to preserve a relative volume differencebetween a volume level corresponding to the position of the displayedsecond individual volume control and the volume level corresponding tothe position of the displayed group volume control.
 4. The computingdevice of claim 1, further comprising: at least one volume controlbutton, and wherein receiving the second input to adjust the position ofthe displayed group volume control comprises: receiving a selection ofthe at least one volume control button, wherein the selection causes theposition of the displayed group volume control to be adjusted by a givenpercentage.
 5. The computing device of claim 4, wherein based onreceiving the second input, (i) adjusting the position of the displayedgroup volume control, (ii) adjusting the position of the displayed firstindividual volume control based on the adjustment of the position of thedisplayed group volume control, and (iii) adjusting the position of thedisplayed second individual volume control based on the adjustment ofthe position of the displayed group volume control comprises: based onreceiving the second input, (i) adjusting the position of the displayedfirst individual volume control by the given percentage and (ii)adjusting the position of the displayed second individual volume controlby the given percentage.
 6. The computing device of claim 1, furthercomprising: a volume up button; a volume down button; wherein receivingthe second input to adjust the position of the displayed group volumecontrol representing the volume level of the media player groupcomprises: receiving a selection of the volume up button, wherein theselection causes the position of the displayed group volume control tobe increased by a given percentage; and wherein based on receiving thesecond input, (i) adjusting the position of the displayed group volumecontrol, (ii) adjusting the position of the displayed first individualvolume control based on the adjustment of the position of the displayedgroup volume control, and (iii) adjusting the position of the displayedsecond individual volume control based on the adjustment of the positionof the displayed group volume control comprises: based on receiving thesecond input, (i) adjusting the position of the displayed firstindividual volume control by the given percentage and (ii) adjusting theposition of the displayed second individual volume control by the givenpercentage.
 7. The computing device of claim 1, wherein the functionsfurther comprise: receiving a third input to adjust the position of thedisplayed first individual volume control; and based on receiving thethird input, (i) adjusting the position of the displayed firstindividual volume control and (ii) adjusting the position of thedisplayed group volume control based on the adjustment of the positionof the displayed first individual volume control.
 8. A system,comprising: a computing device configured to communicate over at leastone data network; and a first media player configured to communicateover at least one data network; the computing device comprising: a firstnetwork interface that is configured to communicatively couple thecomputing device to the first media player; at least one firstprocessor; a first tangible, non-transitory computer-readable medium;and program instructions stored on the first tangible, non-transitorycomputer-readable medium that are executable by the at least one firstprocessor such that the computing device is configured to: display, viaa user interface, a group volume control based on volume levels of atleast two media players forming a media player group, a first individualvolume control representing a volume level of the first media player,and a second individual volume control representing a volume level of asecond media player, wherein the at least two media players comprisesthe first media player and the second media player, and wherein thegroup volume control is separate from the first individual volumecontrol and the second individual volume control; receive a first inputto adjust a position of the displayed first individual volume control ofthe first media player in the media player group; based on receiving thefirst input, (i) adjust the position of the displayed first individualvolume control to a first position, (ii) adjust a position of thedisplayed group volume control, and (iii) send, to the first mediaplayer, a first instruction that causes the volume level of the firstmedia player to be adjusted to correspond to the first position of thefirst individual volume control; receive a second input to adjust theposition of the displayed group volume control; and based on receivingthe second input, (i) adjust the position of the displayed group volumecontrol, (ii) adjust the position of the displayed first individualvolume control to a second position based on the adjustment of theposition of the displayed group volume control, and (ii) adjust theposition of the displayed second individual volume control based on theadjustment of the position of the displayed group volume control to athird position, wherein at least one of the adjusting the position ofthe displayed first individual volume control and the adjusting theposition of the displayed second individual volume control is inproportion to the adjustment of the position of the displayed groupvolume control; and the first media player comprising: a second networkinterface that is configured to communicatively couple the first mediaplayer to the computing device; and at least one second processor; asecond tangible, non-transitory computer-readable medium; and programinstructions stored on the second tangible, non-transitorycomputer-readable medium that are executable by the at least one secondprocessor such that the first media player is configured to: receive,from the computing device, the first instruction causing the volumelevel of the first media player to be adjusted to correspond to theadjusted position of the displayed first individual volume control. 9.The system of claim 8, wherein the computing device further comprisesprogram instructions stored on the first tangible, non-transitorycomputer-readable medium that are executable by the at least one firstprocessor such that the computing device is configured to: based onreceiving the second input, (i) send, to the first media player, asecond instruction to cause the volume level of the first media playerto be adjusted to correspond to the second position, and (ii) send, tothe second media player, a third instruction to cause the volume levelof the second media player to be adjusted to correspond to the thirdposition; and the first media player further comprises programinstructions stored on the second tangible, non-transitorycomputer-readable medium that are executable by the at least secondprocessor such that the first media player is configured to: receive,from the computing device, the second instruction; and based onreceiving the second instruction, cause the volume level of the firstmedia player to be adjusted to correspond to the second position. 10.The system of claim 8, further comprising the second media player,wherein the second media player is configured to communicate over atleast one data network, the second media player comprising: a thirdnetwork interface that is configured to communicatively couple thesecond media player to the computing device; at least one thirdprocessor; third tangible, non-transitory computer-readable memory; andprogram instructions stored on the third tangible, non-transitorycomputer-readable medium that are executable by the at least one thirdprocessor such that the second media player is configured to: receive,from the computing device, the third instruction; and based on receivingthe third instruction, cause the volume level of the second media playerto be adjusted to correspond to the third position.
 11. The system ofclaim 8, wherein at least one of the adjusting the position of thedisplayed first individual volume control and the adjusting the positionof the displayed second individual volume control is in proportion tothe adjustment of the position of the displayed group volume control.12. The system of claim 11, wherein adjusting the position of thedisplayed first individual volume control based on the adjustment of theposition of the displayed group volume control comprises adjusting theposition of the displayed first individual volume control based on theadjustment of the position of the displayed group volume control topreserve a relative volume difference between a volume levelcorresponding to the position of the displayed first individual volumecontrol and a volume level corresponding to the position of thedisplayed group volume control, and wherein adjusting the position ofthe displayed second individual volume control based on the adjustmentof the position of the displayed group volume control comprisesadjusting the position of the displayed second individual volume controlbased on the adjustment of the position of the displayed group volumecontrol to preserve a relative volume difference between a volume levelcorresponding to the position of the displayed second individual volumecontrol and the volume level corresponding to the position of thedisplayed group volume control.
 13. The system of claim 8, wherein thecomputing device further comprises: at least one volume control button,and wherein receive the second input to adjust the position of thedisplayed group volume control comprises: receive a selection of avolume control button, wherein the selection causes the position of thedisplayed group volume control to be adjusted by a given percentage. 14.The system of claim 13, wherein based on receiving the second input, (i)adjust the position of the displayed group volume control, (ii) adjustthe position of the displayed first individual volume control based onthe adjustment of the position of the displayed group volume control,and (iii) adjust the position of the displayed second individual volumecontrol based on the adjustment of the position of the displayed groupvolume control comprises: based on receiving the second input, (i)adjust the position of the displayed first individual volume control bythe given percentage, and (ii) adjust the position of the displayedsecond individual volume control by the given percentage.
 15. The systemof claim 8, wherein the computing device further comprises: a volume upbutton; a volume down button; wherein receive the second input to adjustthe position of the displayed group volume control representing thevolume level of the media player group comprises: receive a selection ofthe volume up button, wherein the selection causes the position of thedisplayed group volume control to be increased by a given percentage;and wherein based on receiving the second input, (i) adjust the positionof the displayed group volume control, (ii) adjust the position of thedisplayed first individual volume control based on the adjustment of theposition of the displayed group volume control, and (iii) adjust theposition of the displayed second individual volume control based on theadjustment of the position of the displayed group volume controlcomprises: based on receiving the second input, (i) adjust the positionof the displayed first individual volume control by the given percentageand (ii) adjust the position of the displayed second individual volumecontrol by the given percentage.
 16. The system of claim 8, wherein thecomputing device further comprises program instructions stored on thefirst tangible, non-transitory computer-readable medium that areexecutable by the at least one first processor such that the computingdevice is configured to: receive a third input to adjust the position ofthe displayed first individual volume control; and based on receivingthe third input, (i) adjust the position of the displayed firstindividual volume control, and (ii) adjust the position of the displayedgroup volume control based on the adjustment of the position of thedisplayed first individual volume control.
 17. Tangible, non-transitorycomputer-readable medium storing instructions that, when executed by oneor more processors, cause a computing device to perform functionscomprising: displaying, via a user interface, a group volume controlbased on volume levels of at least two media players forming a mediaplayer group, a first individual volume control representing a volumelevel of a first media player, and a second individual volume controlrepresenting a volume level of a second media player, wherein the atleast two media players comprises the first media player and the secondmedia player, and wherein the group volume control is separate from thefirst individual volume control and the second individual volumecontrol; receiving a first input to adjust a position of the displayedfirst individual volume control of the first media player in the mediaplayer group; based on receiving the first input, (i) adjusting theposition of the displayed first individual volume control, and (ii)adjusting a position of the displayed group volume control; receiving asecond input to adjust the position of the displayed group volumecontrol; and based on receiving the second input, (i) adjusting theposition of the displayed group volume control, (ii) adjusting theposition of the displayed first individual volume control based on theadjustment of the position of the displayed group volume control, and(iii) adjusting a position of the displayed second individual volumecontrol based on the adjustment of the position of the displayed groupvolume control, wherein at least one of the adjusting the position ofthe displayed first individual volume control and the adjusting theposition of the displayed second individual volume control is inproportion to the adjustment of the position of the displayed groupvolume control.
 18. The tangible, non-transitory computer-readablemedium of claim 17, wherein the functions further comprise: based onreceiving the second input, (i) sending a first instruction to the firstmedia player, wherein the first instruction causes the first mediaplayer to adjust its volume based on the adjustment of the position ofthe displayed group volume control, and (ii) sending a secondinstruction to the second media player, wherein the second instructioncauses the second media player to adjust its volume based on theadjustment of the position of the displayed group volume control,wherein at least one of the adjusting the position of the displayedfirst individual volume control and the adjusting the position of thedisplayed second individual volume control is in proportion to theadjustment of the position of the displayed group volume control. 19.The tangible, non-transitory computer-readable medium of claim 17,wherein adjusting the position of the displayed first individual volumecontrol based on the adjustment of the position of the displayed groupvolume control comprises adjusting the position of the displayed firstindividual volume control based on the adjustment of the position of thedisplayed group volume control to preserve a relative volume differencebetween a volume level corresponding to the position of the displayedfirst individual volume control and a volume level corresponding to theposition of the displayed group volume control, and wherein adjustingthe position of the displayed second individual volume control based onthe adjustment of the position of the displayed group volume controlcomprises adjusting the position of the displayed second individualvolume control based on the adjustment of the position of the displayedgroup volume control to preserve a relative volume difference between avolume level corresponding to the position of the displayed secondindividual volume control and the volume level corresponding to theposition of the displayed group volume control.
 20. The tangible,non-transitory computer-readable medium of claim 17, wherein receivingthe second input to adjust the position of the displayed group volumecontrol comprises: receiving a selection of a volume control button,wherein the selection causes the position of the displayed group volumecontrol to be adjusted by a given percentage.
 21. The tangible,non-transitory computer-readable medium of claim 20, wherein based onreceiving the second input, (i) adjusting the position of the displayedgroup volume control, (ii) adjusting the position of the displayed firstindividual volume control based on the adjustment of the position of thedisplayed group volume control, and (iii) adjusting the position of thedisplayed second individual volume control based on the adjustment ofthe position of the displayed group volume control comprises: based onreceiving the second input, (i) adjusting the position of the displayedfirst individual volume control by the given percentage, and (ii)adjusting the position of the displayed second individual volume controlby the given percentage.
 22. The tangible, non-transitorycomputer-readable medium of claim 17, wherein receiving the second inputto adjust the position of the displayed group volume controlrepresenting the volume level of the media player group comprises:receiving a selection of a volume up button, wherein the selectioncauses the position of the displayed group volume control to beincreased by a given percentage, and wherein based on receiving thesecond input, (i) adjusting the position of the displayed group volumecontrol, (ii) adjusting the position of the displayed first individualvolume control based on the adjustment of the position of the displayedgroup volume control, and (iii) adjusting the position of the displayedsecond individual volume control based on the adjustment of the positionof the displayed group volume control comprises: based on receiving thesecond input, (i) adjusting the position of the displayed firstindividual volume control by the given percentage and (ii) adjusting theposition of the displayed second individual volume control by the givenpercentage.
 23. The tangible, non-transitory computer-readable medium ofclaim 22, further comprising: receiving a third input to adjust theposition of the displayed first individual volume control; and based onreceiving the third input, (i) adjusting the position of the displayedfirst individual volume control, and (ii) adjusting the position of thedisplayed group volume control based on the adjustment of the positionof the displayed first individual volume control.
 24. A method,comprising: displaying, via a user interface of a computing device, agroup volume control based on volume levels of at least two mediaplayers forming a media player group, a first individual volume controlrepresenting a volume level of a first media player, and a secondindividual volume control representing a volume level of a second mediaplayer, wherein the at least two media players comprises the first mediaplayer and the second media player, and wherein the group volume controlis separate from the first individual volume control and the secondindividual volume control; receiving, via the computing device, a firstinput to adjust a position of the displayed first individual volumecontrol of the first media player in the media player group; based onreceiving the first input, (i) adjusting the position of the displayedfirst individual volume control, and (ii) adjusting a position of thedisplayed group volume control; receiving, via the computing device, asecond input to adjust the position of the displayed group volumecontrol; and based on receiving the second input, (i) adjusting theposition of the displayed group volume control, (ii) adjusting theposition of the displayed first individual volume control based on theadjustment of the position of the displayed group volume control, and(iii) adjusting a position of the displayed second individual volumecontrol based on the adjustment of the position of the displayed groupvolume control, wherein at least one of the adjusting the position ofthe displayed first individual volume control and the adjusting theposition of the displayed second individual volume control is inproportion to the adjustment of the position of the displayed groupvolume control.
 25. The method of claim 24, further comprising: based onreceiving the second input, (i) sending a first instruction to the firstmedia player, wherein the first instruction causes the first mediaplayer to adjust its volume based on the adjustment of the position ofthe displayed group volume control, and (ii) sending a secondinstruction to the second media player, wherein the second instructioncauses the second media player to adjust its volume based on theadjustment of the position of the displayed group volume control,wherein at least one of the adjusting the position of the displayedfirst individual volume control and the adjusting the position of thedisplayed second individual volume control is in proportion to theadjustment of the position of the displayed group volume control. 26.The method of claim 24, wherein adjusting the position of the displayedfirst individual volume control based on the adjustment of the positionof the displayed group volume control comprises adjusting the positionof the displayed first individual volume control based on the adjustmentof the position of the displayed group volume control to preserve arelative volume difference between a volume level corresponding to theposition of the displayed first individual volume control and a volumelevel corresponding to the position of the displayed group volumecontrol, and wherein adjusting the position of the displayed secondindividual volume control based on the adjustment of the position of thedisplayed group volume control comprises adjusting the position of thedisplayed second individual volume control based on the adjustment ofthe position of the displayed group volume control to preserve arelative volume difference between a volume level corresponding to theposition of the displayed second individual volume control and thevolume level corresponding to the position of the displayed group volumecontrol.
 27. The method of claim 24, wherein receiving, via thecomputing device, the second input to adjust the position of thedisplayed group volume control comprises: receiving a selection of avolume control button, wherein the selection causes the position of thedisplayed group volume control to be adjusted by a given percentage. 28.The method of claim 27, wherein based on receiving the second input, (i)adjusting the position of the displayed group volume control, (ii)adjusting the position of the displayed first individual volume controlbased on the adjustment of the position of the displayed group volumecontrol, and (iii) adjusting the position of the displayed secondindividual volume control based on the adjustment of the position of thedisplayed group volume control comprises: based on receiving the secondinput, (i) adjusting the position of the displayed first individualvolume control by the given percentage, and (ii) adjusting the positionof the displayed second individual volume control by the givenpercentage.
 29. The method of claim 24, wherein receiving, via thecomputing device, the second input to adjust the position of thedisplayed group volume control representing the volume level of themedia player group comprises: receiving a selection of the volume upbutton, wherein the selection causes the position of the displayed groupvolume control to be increased by a given percentage, and wherein basedon receiving the second input, (i) adjusting the position of thedisplayed group volume control, (ii) adjusting the position of thedisplayed first individual volume control based on the adjustment of theposition of the displayed group volume control, and (iii) adjusting theposition of the displayed second individual volume control based on theadjustment of the position of the displayed group volume controlcomprises: based on receiving the second input, (i) adjusting theposition of the displayed first individual volume control by the givenpercentage, and (ii) adjusting the position of the displayed secondindividual volume control by the given percentage.
 30. The method ofclaim 24, further comprising: receiving, via the computing device, athird input to adjust the position of the displayed first individualvolume control; and based on receiving the third input, (i) adjustingthe position of the displayed first individual volume control, and (ii)adjusting the position of the displayed group volume control based onthe adjustment of the position of the displayed first individual volumecontrol.